c++ - MSVCP110D.dll 和 Visual Studio 2013
全部标签 我有一个文本文件,我想通过将其重写为临时文件然后覆盖原始文件来进行编辑。这段代码没有这样做,因为它被简化了,但它确实包含了我遇到的问题。在Windows上,当重命名函数失败时,EXAMPLE.TXT文件将在看似随机的运行次数后消失。我不知道为什么,但到目前为止它在Linux上运行良好。为什么会发生这种情况,我该如何从完全不同的方向解决它,例如在不重命名的情况下从程序中覆盖原始文件?此外,还有哪些其他更好的方法?此方法在Windows上还有其他缺陷,例如程序在调用remove之后但在重命名之前被用户关闭,这在Linux上不会有问题(在删除remove之后)?#include#includ
我在使用Windows上的LoadLibrary时遇到了一个奇怪的问题。首先是一些背景。这个应用程序依赖于Qt,而Qt被拆分成几个库。我正在尝试升级Qt的版本,但不会破坏任何人。较新的Qt库向后兼容旧的。这意味着如果加载新版本,则使用旧版本构建的应用程序可以运行。反之则不然——如果加载旧版本,使用新版本构建的应用程序将缺少符号。QtDLL位于特定于版本的目录中(比如c:\qt\qt-4.5.2\lib和c:\qt\qt-4.8.1\lib作为示例)。大多数开发人员在他们的PATH中还有一个公共(public)目录,其中包含我们使用的所有第三方库的“当前”版本(称为c:\common\l
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我为我正在开发的一个小应用程序开发了一个非常基本的shell扩展。我已经使用它一段时间了,没有任何问题,但我只是注意到在Windowsxp中,在开始菜单->所有程序中,如果我右键单击那里的一个文件夹并选择“打开”或“探索”,我的小应用程序出现而不是资源管理器窗口。你可以想象,当我看到这一幕时,我是多么的高兴和自豪。我觉得这很奇怪,因为这是唯一发生这种情况的地方(到目前为止......)。我在“目
我正在尝试习惯使用WinDbg来解决崩溃转储问题,但每次我这样做时,它似乎都在要求我提供不同版本的mscorwks.dll和mscordacwks.dll,而且我并不总是能够访问转储来自的机器。除了告诉最终用户他们必须在他们的Windows目录中四处挖掘这些文件并向我发送一个大得离谱的“迷你”-dump之外,是否有什么地方可以让我获得这些文件的不同版本的副本?WinDbg似乎无法通过Microsoft的符号服务器找到它们。 最佳答案 您应该从捕获此转储的机器上获取mscordacwks.dll,然后将其重命名为WinDbg期望的名称
我的程序在这一行第二次运行时崩溃了:char*temp_directive=(char*)malloc(7);出现此错误:Criticalerrordetectedc0000374WindowshastriggeredabreakpointinMaman14.exe.Thismaybeduetoacorruptionoftheheap,whichindicatesabuginMaman14.exeoranyoftheDLLsithasloaded.ThismayalsobeduetotheuserpressingF12whileMaman14.exehasfocus.我不明白为什么,它
我是Windows编程的新手。在Windows操作系统上,几乎每个应用程序都会打开一个窗口,我想知道是否所有这些应用程序都调用相同的APICreateWindow()来创建它们的窗口?或者,换一种方式来问我的问题:游戏、音乐播放器、浏览器、即时消息、IDE等是否都通过调用APICreateWindow()创建它们的窗口?如果不是,还有哪些其他API可用于在Windows上创建窗口? 最佳答案 是的,还有CreateWindowEx是唯一可以创建窗口的API(其他相关API,例如DialogBox和AllocConsole也在内部执行
这行代码是什么意思?#defineNAME((LPCSTR)5)如果我定义了一个变量,NAME*tmp,然后像这样使用它:((LPCSTR)5)*tmp;这段代码有什么作用?注意:LPCSTR是typedef__nullterminatedCONSTCHAR*LPCSTR 最佳答案 这是一个简单的转换,它将5转换为字符指针(__nullterminatedCONSTCHAR*)这可能是标准未定义的行为,但有时会在现实生活中使用。寻址您机器上的特定物理地址-例如,内核必须执行此操作以配置卡、板载芯片等...要在参数或返回值中发送特殊值
我想在我的文件夹及其子文件夹下注册所有dll,所以我使用以下内容:FOR/R"C:\test"%%Gin(.)DO(Pushd%%Gfor%%Gin(%%G\*.dll)doregsvr32/s%%GEchonowin%%GPopd)Echo"BackToOriginalDirectory"现在这段代码的问题是它还尝试注册扩展名为.dlla的文件,所以此时我的批处理文件产生了问题。如何只允许注册dll文件?感谢您的帮助。 最佳答案 我建议FOR/R"C:\test"%%Gin(.)DO(Pushd%%Gfor%%Gin(%%G\*.
大约20(!)年前,我编写了一个大型复杂的C程序。据我所知,当时它在所有方面都运行良好-它可能在Windows95上运行。现在我需要再次使用它。不幸的是,其中的单选按钮似乎不再正常工作(普通按钮都可以正常工作)。当我点击单选按钮时,我得到一些反馈,即Windows正在确认我的点击,只要我的手指放在按钮上,我就会看到按钮文本周围出现虚线并且按钮的圆圈变灰,但是当我松开手指时,我看到所选按钮没有改变。我的怀疑是,我当时可能逃避了一些不良做法,这些做法适用于Windows95,但不再适用于较新版本的Windows,但我正在努力找出我做错了什么。有什么想法吗?编辑:很难提取相关代码,因为该程序
我知道我们可以使用WriteFile将内容写入文件:BOOLWINAPIWriteFile(HANDLEhFile,LPCVOIDlpBuffer,DWORDnumOfBytesToWrite,LPDOWRDlpNumOfBytesWritten,LPOVERLAPPEDlpOverlapped);但是我们如何使用此函数将ASCII字符串写入文件呢? 最佳答案 通常是这样的:WriteFile(your_file,your_string,strlen(your_string),&written,NULL);虽然您通常不想这样做——除